package com.opcode.nebulamobil.utility;

import java.io.File;
import android.os.Environment;
import android.util.Log;



/**
 * Bu sınıf içerisinde statik olarak yer alan writeLog isimli bir metod barındırır.
 * Bu metod herhangi bir hata alındığında gerekli parametreleri doldurularak çağrılır.
 * Böylece herhangi bir hata meydana geldiğinde log dosyasından izleyebiliriz.
 * @author Okan ERDOĞAN
 *
 * 31 Ağu 2014
 */
public class STSLog {

	private static FileProcess fileProcess;
	private static int i=0;
	
	public static void writeLog(Throwable e,String className,String message){
		
		File dirFile=new File(Environment.getExternalStorageDirectory()+"//STS//stsLog//");
		
		/**
		 * Burada klasörün var olup olmadığı kontrol ediliyor.Yoksa oluşturuluyor.
		 */
		if(!dirFile.exists()){
			dirFile.mkdirs();
		}
		
		i++;
		fileProcess=new FileProcess(Environment.getExternalStorageDirectory()+"//STS//stsLog//"+FileProcess.getTime()+" - "+i+".txt");

		String logText=className+" - "+message+'\n'+e.fillInStackTrace()+'\n';
		for(int i=0;i<e.getStackTrace().length;i++){
			logText=logText+e.getStackTrace()[i]+'\n';
		}
		
		fileProcess.writer(logText);
		e.printStackTrace();
		Log.e(className,message);						
	}
	
	
	
	
	/*public static PrintWriter getPrintWriter(){
		File dirFile=new File(Environment.getExternalStorageDirectory()+"//STS//stsLog//");
		
		/**
		 * Burada klasörün var olup olmadığı kontrol ediliyor.Yoksa oluşturuluyor.
		 */
	/*	if(!dirFile.exists()){
			dirFile.mkdirs();
		}
		
		i++;
		fileProcess=new FileProcess(Environment.getExternalStorageDirectory()+"//STS//stsLog//"+FileProcess.getTime()+" - "+i+".txt");	
		
		return fileProcess.getpWriter();
	}*/
}
